home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 API Bible / Windows 95 API Bible 3 Disc Set.iso / Win32 API Bible Book 1 of 3.iso / chapte22 / ex18.c < prev    next >
C/C++ Source or Header  |  1995-05-27  |  2KB  |  53 lines

  1. #include <genstub.c>
  2. #include <stdarg.h>
  3.  
  4. static char cTheNumber[] = "Twenty Seven Hundred Fifty Four";
  5.  
  6. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  7. {
  8.    switch (uMsg)
  9.    {
  10.          case WM_COMMAND:
  11.                switch ( LOWORD( wParam ) )
  12.                {
  13.                      case IDM_TEST:
  14.                      {
  15.                            TCHAR szBuffer[128];
  16.                            DWORD dwArgs[3];
  17.                            HDC   hDC = GetDC( hWnd );
  18.  
  19.                            dwArgs[1] = dwArgs[0] = 2754;
  20.                            dwArgs[2] = (DWORD) cTheNumber;
  21.                            wvsprintf( szBuffer,
  22.                                      "The number %d is hex %x or string %s",
  23.                                      dwArgs );
  24.                            TextOut(hDC, 0, 0,  szBuffer, lstrlen(szBuffer));
  25.                            wvsprintf( szBuffer,
  26.                                      "The number %d is hex %X or string %s",
  27.                                      dwArgs );
  28.                            TextOut(hDC, 0, 20, szBuffer, lstrlen(szBuffer));
  29.                            wvsprintf( szBuffer,
  30.                                      "The number %010d is hex %#x = string %36s",
  31.                                      dwArgs );
  32.                            TextOut(hDC, 0, 40, szBuffer, lstrlen(szBuffer));
  33.                            wvsprintf( szBuffer,
  34.                                       "The number %-10d is hex %#X = string %-36s",
  35.                                       dwArgs );
  36.                            TextOut(hDC, 0, 60, szBuffer, lstrlen(szBuffer));
  37.  
  38.                            ReleaseDC( hWnd, hDC );
  39.                      }
  40.                      break;
  41.                      case IDM_EXIT:
  42.                            DestroyWindow( hWnd );
  43.                      break;
  44.                }
  45.                break;
  46.          case WM_DESTROY:
  47.                PostQuitMessage( 0 );
  48.                break;
  49.          default:
  50.                return( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
  51.    }
  52.    return( NULL );
  53. }